home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 004 / mathstat.arc / S8.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1983-11-26  |  1.4 KB  |  59 lines

  1. 10  CLS:WIDTH 80:CLEAR:PRINT "Chi-Square Test":PRINT
  2. 28  REM Limit size of contingency tables to V1(R*C),V2(C),A(R)
  3. 29  REM Where R = number of rows, C = number of columns
  4. 30  DIM V1(4),V2(2),A(2)
  5. 39  REM Lines 50-150 input contingency table
  6. 50  INPUT "Number of rows";R
  7. 70  INPUT "Number of columns";C
  8. 80  PRINT "Contingency Table:"
  9. 90  FOR I=1 TO R
  10. 100  PRINT "Row";I
  11. 110  FOR J=1 TO C
  12. 120  PRINT "  Element";J;
  13. 130  INPUT V1((I-1)*C+J)
  14. 140  NEXT J
  15. 150  NEXT I
  16. 160  PRINT
  17. 169  REM Add up marginal frequencies for each row
  18. 170  L=0:M=1
  19. 190  FOR I=1 TO R
  20. 200  FOR J=1 TO C
  21. 210  A(I)=A(I)+V1(M)
  22. 220  M=M+1
  23. 230  NEXT J
  24. 240  L=L+A(I)
  25. 250  NEXT I
  26. 260  N=R*C
  27. 269  REM Add up marginal frequencies for each column
  28. 270  FOR I=1 TO C
  29. 280  FOR J=1 TO N STEP C
  30. 290  V2(I)=V2(I)+V1(J)
  31. 300  NEXT J
  32. 310  NEXT I
  33. 320  Z=0
  34. 330  PRINT "Observed Value","Expected Value","Chi^2 Contribution"
  35. 340  FOR I=1 TO C
  36. 350  PRINT "  Column";I
  37. 360  FOR J=1 TO R
  38. 369  REM P = Expected cell value
  39. 370  P=A(J)*V2(I)/L
  40. 375  X=I+(J-1)*C
  41. 379  REM Use Yates' correction for contiuity in 2x2 chi-square tests
  42. 380  IF R<>2 THEN 390
  43. 381  IF C<>2 THEN 390
  44. 382  Y=(ABS(V1(X)-P)-0.5)^2/P
  45. 383  GOTO 400
  46. 389  REM Y = chi-square contribution from this cell
  47. 390  Y=(V1(X)-P)^2/P
  48. 399  REM Z = Total chi-square value
  49. 400  Z=Z+Y
  50. 410  PRINT "    ";V1(X),,P,,Y
  51. 420  NEXT J
  52. 430  NEXT I
  53. 440  PRINT
  54. 450  PRINT "Chi-Square =";Z
  55. 460  PRINT "Degrees of Freedom =";(C-1)*(R-1)
  56. 470  PRINT :INPUT "Run again";A$
  57. 480  IF A$="Y" OR A$="y" THEN 10
  58. 500  RUN "stat"
  59.